Strong authentication tokens are a type of dedicated hardware security devices that are well known in the art. They allow service providers and applications to authenticate the possessor of the token, by providing dynamic passwords that could only be generated with knowledge of a secret or key that is shared between the authentication server employed by the service provider or application on the one hand, and the authentication token on the other hand. To generate dynamic passwords, the strong authentication token applies a cryptographic algorithm to the shared secret and a dynamic variable, for example comprising one or more of a counter value, a value representing the present time, and a random challenge. Usually the dynamic password can only be used once, thus greatly enhancing the level of security with respect to static passwords. Strong authentication tokens are popular, especially to secure applications such as internet banking, because they offer a much higher level of security than static passwords combined with a high user convenience.
Some strong authentication tokens can generate transaction data signatures. Such transaction signature tokens allow service providers and applications to verify the approval of the transaction by the possessor of the token and the integrity of the transaction data, by providing electronic signatures on the transaction that could only be generated with knowledge of a secret or key that is shared between the authentication server employed by the service provider or application on the one hand, and the authentication token on the other hand. To generate electronic signatures, the transaction signature token applies a cryptographic algorithm to the shared secret and the transaction data. In some cases the transaction signature token may also include the value of a dynamic variable into the calculation of the electronic signature as a measure against replay attacks. In some cases the token generates an electronic signature by applying a cryptographic algorithm to the shared secret and a challenge whereby the challenge is mathematically related to the transaction data. The challenge may for example be calculated from a hash of the transaction data.
To verify the validity of the dynamic password or electronic signature generated by the strong authentication token, the authentication server performs essentially the same calculation as the security token to obtain a verification value using its own copy of the shared secret, and its locally kept value of the counter, the present time, the challenge it submitted to the end user, or the relevant transaction related data. The server then compares the verification value it generated with the dynamic password or electronic signature received from the user. Authentication or transaction approval is successful if the token-generated dynamic password or electronic signature submitted by the end user matches the verification value generated by the authentication server.
Most strong authentication tokens don't require a digital connection with a computer system (or have a mode of operation in which they don't require such a connection), but instead rely on the user to exchange data between the token and an application secured by that token. Examples of such data being exchanged include input data received from a user such as a challenge or transaction data and output data such as a dynamic password or signature generated by the token for the user. In typical strong authentication tokens this data exchange via the user comprises the user's manually transferring data between the token and a computer. To facilitate this manual transfer, the generated dynamic passwords or signatures have a modest size that is in most cases smaller than the cryptograms that are used for generating these dynamic passwords or signatures. In other words the generation of the dynamic passwords or signatures in general implies some form of truncation of the cryptograms and as a consequence the generated dynamic passwords or signatures can in general not convey all the information contained in these cryptograms to the authentication server. However, thanks to the usage of symmetric cryptography, an authentication server that has access to a strong authentication token's secret key can calculate a verification value that has to be compared with a received dynamic password or signature to validate whether the received dynamic password or signature has indeed been generated with that particular token.
The fact that strong authentication tokens don't require a digital connection with a computer system makes strong authentication tokens fully independent of any technical characteristics of any computer system being used such as operating system version, driver support and particular technical input/output interfaces. This represents a huge advantage of strong authentication tokens with respect to other security devices such as smartcards or USB keys which require for example smart card readers, USB connectors and corresponding driver software, which are not universally supported by all computer systems that users may want to use or which may be plagued by interoperability and compatibility problems.
Typical strong authentication tokens have a display for communicating the generated dynamic credentials such as one-time passwords or electronic signatures to the end user, and a button or keypad to request the generation of a new credential and/or to enter challenges, transaction data, PIN codes, etc. Other known communicating devices for strong authentication tokens include an auditory output generator, USB interfaces, and wireless interfaces. Other known input devices for strong authentication tokens include optical sensors, USB interfaces, and wireless interfaces.
Some strong authentication tokens require the user to enter a PIN code to perform certain actions such as generating an electronic signature. In some cases the user also submits to the authentication server a static password in addition to the dynamic password generated by a strong authentication token as a counter measure against the fraudulent use of lost or stolen tokens.
The range of products sold by Vasco Data Security under the brand DIGIPASS contains several examples of strong authentication tokens as described above.